Add deterministic AI reporter qualification gates - #5999
Add deterministic AI reporter qualification gates#5999Sean Larkin (TheLarkInn) wants to merge 5 commits into
Conversation
|
Independent Findings fixed
Corpus evidence
Validation
State / blockers
|
|
Combined deep review of current head
|
e30aa36 to
7159901
Compare
ac3fd75 to
c46a4ea
Compare
|
Fixed both combined review findings in
The three R8 commits are rebased directly onto Head is pending review. Auto-merge remains disabled. |
|
Four-review gate on Required fix: use an allowlisted secret-envelope projection that removes contextual metadata not guaranteed opaque, while preserving protocol and ordering fields. Extend the corpus with sentinel scope values. Dismissible low follow-on: decide whether local |
|
Fixed the HIGH secret scope metadata finding in
Reporter build, lint, API Extractor, and 336 tests passed. All 13 corpus cases passed across three identical runs. Reporter, rush-lib, apps/rush, Rush check, and stacked change verification passed. Local-sensitive and full-log behavior are unchanged. The low file-sidecar policy follow-on remains separate. Head is pending review and auto-merge remains disabled. |
|
Final combined review of Dismissible low follow-ons:
This head is low-only. |
97f807e to
925171c
Compare
6dac2ff to
7e1058f
Compare
925171c to
0aa7975
Compare
7e1058f to
fb9dd3c
Compare
0aa7975 to
a96364c
Compare
fb9dd3c to
77248b7
Compare
a96364c to
ca7fd4f
Compare
77248b7 to
c55af23
Compare
ca7fd4f to
1c20265
Compare
c55af23 to
dfe142c
Compare
1c20265 to
9b83623
Compare
9b83623 to
ce1df30
Compare
dfe142c to
e01c03f
Compare
ce1df30 to
c9242d5
Compare
e01c03f to
d17e506
Compare
c9242d5 to
37307c7
Compare
d17e506 to
f8d7b90
Compare
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
f8d7b90 to
ec9238b
Compare
Summary
Part of #5981.
Stack
copilot/reporter-r5b-demo-reporters)This PR does not copy or modify the telemetry projection from #5990. It applies the same producer-identity privacy boundary to presented reporter output and artifacts.
Corpus and gates
Corpus cases:
bootstrap-unsupported-node,configuration-invalid-json,input-unknown-project,dependency-package-manager,operation-build-failure,cache-restore-failure,network-auth-unauthorized,plugin-api-incompatible,logical-cancellation,internal-unexpected-error,success-no-warning, andsuccess-warning-only.External-service-shaped failures use stable canonical event fixtures. Returned results contain only case metadata, byte counts, booleans, and normalized hashes; absolute paths, private identities, and classified values are not stored.
Reproduce
cd libraries/reporter rushx build node scripts/runAiReporterQualification.jsThe script prints the versioned machine-readable result and exits nonzero when any blocking gate fails.
Selection boundary
getQualifiedAiReporterDecision()validates built-inCOPILOT_CLIdetection and configuredagentEnvironmentVariables, rejects absent or failed qualification results, and keepsRUSH_REPORTER=legacyauthoritative.It is intentionally not consumed by the Rush frontend in this PR. No environment variable automatically selects the AI reporter; the pre-major live path remains explicit
--reporteror repository-experiment opt-in, and no-opt-in behavior remains legacy.Validation
rush build --to @microsoft/rushrushx _phase:testinlibraries/reporter(314 tests)rushx _phase:testinlibraries/rush-librushx _phase:testinapps/rushCOPILOT_CLI=1legacy behavior andRUSH_REPORTER=legacyoverriderush checkrush change --verify --no-fetchNon-goals